package com.ruoyi.system.domain;

import com.ruoyi.common.core.domain.entity.SysUser;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.List;

/**
 * 酒店信息管理对象 lhk_hotel_info
 * 
 * @author ruoyi
 * @date 2025-05-29
 */
public class LhkHotelInfo extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 酒店id */
    private Long hotelId;

    /** 酒店名称 */
    @Excel(name = "酒店名称")
    private String hotelName;

    /** 详细地址 */
    @Excel(name = "详细地址")
    private String address;

    /** 酒店介绍 */
    @Excel(name = "酒店介绍")
    private String hotelDesc;

    /** 酒店管理员id */
    @Excel(name = "酒店管理员id")
    private Long managerId;

    /** 房间总数 */
    @Excel(name = "房间总数")
    private Long totalRooms;

    /** 可用房间数 */
    @Excel(name = "可用房间数")
    private Long availableRooms;

    /** 酒店客服电话 */
    @Excel(name = "酒店客服电话")
    private String customerServicePhone;

    /** 状态:1=营业中,2=暂停营业,3=装修中 */
    @Excel(name = "状态:1=营业中,2=暂停营业,3=装修中")
    private Long status;

    /** 营业执照 */
    @Excel(name = "营业执照")
    private String businessLicense;

    /** 酒店类型id */
    @Excel(name = "酒店类型id")
    private Long hotelTypeId;

    /** 景区id */
    @Excel(name = "景区id")
    private Long scenicAreaId;


    @Excel(name = "酒店管理员")
    private SysUser sysUser;

    private List<LhkRoom> lhkRooms;

    private LhkHotelDetails lhkHotelDetails;

    private List<LhkHotelService> lhkServices;

    private List<LhkRoomType> lhkRoomTypes;

    private Double currentPrice;

    private Double originalPrice;

    public Double getCurrentPrice() {
        return currentPrice;
    }

    public void setCurrentPrice(Double currentPrice) {
        this.currentPrice = currentPrice;
    }

    public Double getOriginalPrice() {
        return originalPrice;
    }

    public void setOriginalPrice(Double originalPrice) {
        this.originalPrice = originalPrice;
    }

    public List<LhkHotelService> getLhkServices() {
        return lhkServices;
    }

    public void setLhkServices(List<LhkHotelService> lhkServices) {
        this.lhkServices = lhkServices;
    }

    public List<LhkRoomType> getLhkRoomTypes() {
        return lhkRoomTypes;
    }

    public void setLhkRoomTypes(List<LhkRoomType> lhkRoomTypes) {
        this.lhkRoomTypes = lhkRoomTypes;
    }

    public LhkHotelDetails getLhkHotelDetails() {
        return lhkHotelDetails;
    }

    public void setLhkHotelDetails(LhkHotelDetails lhkHotelDetails) {
        this.lhkHotelDetails = lhkHotelDetails;
    }

    public List<LhkRoom> getLhkRooms() {
        return lhkRooms;
    }

    public void setLhkRooms(List<LhkRoom> lhkRooms) {
        this.lhkRooms = lhkRooms;
    }

    public SysUser getSysUser() {
        return sysUser;
    }

    public void setSysUser(SysUser sysUser) {
        this.sysUser = sysUser;
    }

    public void setHotelId(Long hotelId)
    {
        this.hotelId = hotelId;
    }

    public Long getHotelId() 
    {
        return hotelId;
    }

    public void setHotelName(String hotelName) 
    {
        this.hotelName = hotelName;
    }

    public String getHotelName() 
    {
        return hotelName;
    }

    public void setAddress(String address) 
    {
        this.address = address;
    }

    public String getAddress() 
    {
        return address;
    }

    public void setHotelDesc(String hotelDesc) 
    {
        this.hotelDesc = hotelDesc;
    }

    public String getHotelDesc() 
    {
        return hotelDesc;
    }

    public void setManagerId(Long managerId) 
    {
        this.managerId = managerId;
    }

    public Long getManagerId() 
    {
        return managerId;
    }

    public void setTotalRooms(Long totalRooms) 
    {
        this.totalRooms = totalRooms;
    }

    public Long getTotalRooms() 
    {
        return totalRooms;
    }

    public void setAvailableRooms(Long availableRooms) 
    {
        this.availableRooms = availableRooms;
    }

    public Long getAvailableRooms() 
    {
        return availableRooms;
    }

    public void setCustomerServicePhone(String customerServicePhone) 
    {
        this.customerServicePhone = customerServicePhone;
    }

    public String getCustomerServicePhone() 
    {
        return customerServicePhone;
    }

    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }

    public void setBusinessLicense(String businessLicense) 
    {
        this.businessLicense = businessLicense;
    }

    public String getBusinessLicense() 
    {
        return businessLicense;
    }

    public void setHotelTypeId(Long hotelTypeId) 
    {
        this.hotelTypeId = hotelTypeId;
    }

    public Long getHotelTypeId() 
    {
        return hotelTypeId;
    }

    public void setScenicAreaId(Long scenicAreaId) 
    {
        this.scenicAreaId = scenicAreaId;
    }

    public Long getScenicAreaId() 
    {
        return scenicAreaId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("hotelId", getHotelId())
            .append("hotelName", getHotelName())
            .append("address", getAddress())
            .append("hotelDesc", getHotelDesc())
            .append("managerId", getManagerId())
            .append("totalRooms", getTotalRooms())
            .append("availableRooms", getAvailableRooms())
            .append("customerServicePhone", getCustomerServicePhone())
            .append("status", getStatus())
            .append("businessLicense", getBusinessLicense())
            .append("hotelTypeId", getHotelTypeId())
            .append("scenicAreaId", getScenicAreaId())
            .append("createTime", getCreateTime())
            .append("updateTime", getUpdateTime()).append("lhkRooms", getLhkRooms()).append("lhkHotelDetails", getLhkHotelDetails()).append("lhkServices", getLhkServices()).append("lhkRoomTypes", getLhkRoomTypes()).append("currentPrice", getCurrentPrice()).append("originalPrice", getOriginalPrice())
            .toString();
    }
}
